package hmis.pos.Service;

import hmis.pos.Base.BaseService.BaseService;
import hmis.pos.Common.pojo.ApiResponse;
import hmis.pos.Common.vo.ReportForm.FinalRoomStatistics;
import hmis.pos.Common.vo.ReportForm.RoomStatistics;
import hmis.pos.Common.vo.SearchPrice.RoomPriceTotal;
import hmis.pos.Common.vo.SearchPrice.TypeAndDate;
import hmis.pos.Entity.RoomPrice;

import java.text.ParseException;
import java.util.Date;
import java.util.List;

public interface RoomPriceService extends BaseService<RoomPrice> {

    //根据房型查询日期价格信息
    List<RoomPrice> findByType(String type);

    //根据日期查询价格
    List<RoomPrice> findByDate(Date date);

    //根据类型和日期查询价格
    List<RoomPrice> findByTypeAndDate2(TypeAndDate typeAndDate);

    //根据房型和日期段查询房型价格信息返回房型和房间价格信息
    List<RoomPriceTotal> findByTypeAndDate(TypeAndDate typeAndDate);

    //设置房间某天的价格
    ApiResponse<RoomPrice> setDayPrice(RoomPrice roomPrice) throws ParseException;

    //设置房间某个月的平均价格
    ApiResponse<RoomPrice> setMonthPrice(RoomPrice roomPrice) throws ParseException;

    //查询一年某一个月的数据
    List<RoomPrice> findByMonth(Date date);


    //根据房间价格信息返回年度报表数据
    FinalRoomStatistics getYearData(int thisYear);

    //根据房间价格信息返回年度报表数据
    FinalRoomStatistics getMonthData(int thisYear);

    //根据房间价格信息返回季度报表数据
    FinalRoomStatistics getSeasonData(int thisYear);



}
